home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / HTRules.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  97 lines

  1. /*  */
  2.  
  3. /*      Configuration manager for Hypertext Daemon              HTRules.h
  4. **      ==========================================
  5. **
  6. */
  7.  
  8. /* (c) CERN WorldWideWeb project 1990,91. See Copyright.html for details */
  9.  
  10.  
  11. #ifndef HTRULE_H
  12. #define HTRULE_H
  13.  
  14. #include "HTUtils.h"
  15.  
  16. typedef enum _HTRuleOp {HT_Invalid, HT_Map, HT_Pass, HT_Fail} HTRuleOp;
  17.  
  18. /*      Add rule to the list                                    HTAddRule()
  19. **      --------------------
  20. **
  21. **  On entry,
  22. **      pattern         points to 0-terminated string containing a single "*"
  23. **      equiv           points to the equivalent string with * for the
  24. **                      place where the text matched by * goes.
  25. **  On exit,
  26. **      returns         0 if success, -1 if error.
  27. */
  28. /*      Note that if BYTE_ADDRESSING is set, the three blocks required
  29. **      are allocated and deallocated as one. This will save time and
  30. **      storage, when malloc's allocation units are large.
  31. */
  32. extern int HTAddRule PARAMS((HTRuleOp op, const char * pattern, const char * equiv));
  33.  
  34.  
  35. /*      Clear all rules                                         HTClearRules()
  36. **      ---------------
  37. **
  38. ** On exit,
  39. **      There are no rules
  40. **      returns         0 if success, -1 if error.
  41. **
  42. ** See also
  43. **      HTAddRule()
  44. */
  45. #ifdef __STDC__
  46. extern int HTClearRules(void);
  47. #else
  48. extern int HTClearRules();
  49. #endif
  50.  
  51.  
  52. /*      Translate by rules                                      HTTranslate()
  53. **      ------------------
  54. **
  55. **      The most recently defined rules are applied first.
  56. **
  57. ** On entry,
  58. **      required        points to a string whose equivalent value is neeed
  59. ** On exit,
  60. **      returns         the address of the equivalent string allocated from
  61. **                      the heap which the CALLER MUST FREE. If no translation
  62. **                      occured, then it is a copy of the original.
  63. */
  64. #ifdef __STDC__
  65. extern char * HTTranslate(const char * required);
  66. #else
  67. extern char * HTTranslate();
  68. #endif
  69.  
  70.  
  71. /*      Load the rules from a file                              HtLoadRules()
  72. **      --------------------------
  73. **
  74. ** On entry,
  75. **      Rules can be in any state
  76. ** On exit,
  77. **      Any existing rules will have been kept.
  78. **      Any new rules will have been loaded on top, so as to be tried first.
  79. **      Returns         0 if no error.
  80. **
  81. ** Bugs:
  82. **      The strings may not contain spaces.
  83. */
  84.  
  85. #ifdef __STDC__
  86. extern int HTLoadRules(const char * filename);
  87. #else
  88. extern int HTLoadRules();
  89. #endif
  90.  
  91.  
  92. #endif /* HTUtils.h */
  93.  
  94. /*
  95.  
  96.     */
  97.